home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / MacApp Documentation / MacApp AppleLink Messages / MacApp.Tech$ 5⁄25⁄90 / 1329-Question**3-May90 < prev    next >
Encoding:
Text File  |  1990-05-25  |  3.1 KB  |  88 lines  |  [TEXT/GEOL]

  1. Item    0554448                         23-May-90        07:47PDT
  2.  
  3. From:   V0344                           Siemens Gammasonics, H Koopmans,VAR
  4.  
  5. To:     MACAPP.TECH$                    MacApp Technical
  6.  
  7. Sub:    Question**3
  8.  
  9. Any thoughts about the following?
  10.  
  11.  
  12. Item #1:  Quickdraw32bit
  13.  
  14. I am trying to use 32bit quickdraw.  Using fracApp 2.0b3 as an
  15. example from the developer disk. I have a method similar to
  16. BuildMyOffWorld.  I am using the pascal interface file from the
  17. developer disk, Quickdraw32bit.
  18. MacApp 2.0b9
  19. MPW 3.1
  20. system 6.0.5
  21.  
  22. It appears that I cannot get it to compile, though the line in question
  23. appears OK.  All other QD32bit calls compile OK. Just not NewGWorld.
  24.  I did get it to compile, then I had to add quickdraw32bit to the main
  25. module(Mexerciser), the application compiled fine.  But on
  26. subsequent compiles of the UExerciser the NewGWorld would not
  27. compile.  The interface file seems Ok.  Does anyone know what is
  28. going on?
  29.  
  30.  
  31. #
  32. #Erry := NewGWorld( newGW,32,frameRect,nil,nil, GWorldFlags(0));
  33. #
  34. ### Pascal - Error 169 Value out of range
  35. #------------------------------------------------------------------------------
  36. --------------------------------------------------
  37.     File "UExerciser.inc1.p"; Line 718  # Compiling scsi0:ACE:AcqObj
  38. Code:AcqObjectNew:UEXERCISER.p
  39. #------------------------------------------------------------------------------
  40. --------------------------------------------------
  41. ### MPW Shell - Execution of scsi0:ACE:AcqObj Code:AcqObjectNew:.Debug
  42. Files:EXERCISER.MakeIt terminated.
  43.  
  44.  
  45.  
  46.  
  47. Item #2:   Memory Management
  48.  
  49. Could you clarify MacApp memory management?  Originally in my
  50. code, a Pascal module included in a MacApp application,
  51. called NEW(Thingptr) to create a record structure. (These are
  52. nonrelocatable.)  The first time through the code could
  53. allocate all the pointers it needed, and were freed via
  54. DISPOSE(Thingptr). The second time this procedure is called it
  55. fails on the first allocation in that a NIL value is returned.
  56. Heapresult said there were no errors.  The code was
  57. changed to call NEWPTR via the toolbox instead of the NEW pascal
  58. function and everything appears to work fine.  I would
  59. like to know what was wrong with the first scenario? Was those
  60. allocations coming from the permanent memory, and that
  61. may have been the problem. Is that why there was no indication of
  62. the error? And if all the record allocations were
  63. disposed why couldn't it get them back a second time. (The
  64. application had plenty of permanent memory available, even
  65. if fragmentation had occurred).
  66.  
  67.  
  68.  
  69.  
  70. Item #3:   A5 in Interrupt Handlers
  71.  
  72. This application currently supports a few interrupt routines, in slot
  73. and VBL interrupts.  A5 is initialized as follows in the assembly
  74. routines.
  75.  
  76. MOVE.L (CurrentA5),A5  ;Make sure A5 points to boundary between application
  77.  
  78. Reading some of the Tech Notes(#180,208) implies that to be really
  79. safe you should save your A5(carry it around).  Is this true for
  80. routines written in assembly, C and Pascal?   Should I change the
  81. code to save my A5 or is the code OK to leave as is?
  82.  
  83.  
  84. Thanks!
  85. Lorraine Condic  V0344
  86. Siemens Gammasonics
  87.  
  88.